home *** CD-ROM | disk | FTP | other *** search
/ Cre@te Online 2000 December / Cre@teOnline CD05.iso / MacSoft / XML ConsoleMax.sea / XML ConsoleMax / Required / xdk_dev.jar / a / CharScanner.class (.txt) < prev    next >
Encoding:
Java Class File  |  1999-12-15  |  5.3 KB  |  297 lines

  1. package a;
  2.  
  3. import a.a.a.BitSet;
  4. import java.io.IOException;
  5. import java.util.Hashtable;
  6.  
  7. public abstract class CharScanner implements Tokenizer {
  8.    // $FF: renamed from: a char
  9.    static final char field_0 = '\u0000';
  10.    public static final char EOF_CHAR = '\uffff';
  11.    // $FF: renamed from: b int
  12.    protected int field_1 = 1;
  13.    // $FF: renamed from: c a.ANTLRStringBuffer
  14.    protected ANTLRStringBuffer field_2 = new ANTLRStringBuffer();
  15.    // $FF: renamed from: d boolean
  16.    protected boolean field_3 = true;
  17.    // $FF: renamed from: e java.lang.Class
  18.    protected Class field_4;
  19.    // $FF: renamed from: f int
  20.    protected int field_5;
  21.    // $FF: renamed from: g boolean
  22.    protected boolean field_6 = true;
  23.    // $FF: renamed from: h boolean
  24.    protected boolean field_7 = true;
  25.    // $FF: renamed from: i java.util.Hashtable
  26.    protected Hashtable field_8;
  27.    // $FF: renamed from: j a.Token
  28.    protected Token field_9;
  29.    // $FF: renamed from: k a.ANTLRHashString
  30.    protected ANTLRHashString field_10 = new ANTLRHashString(this);
  31.    // $FF: renamed from: l a.InputBuffer
  32.    InputBuffer field_11;
  33.    // $FF: renamed from: m boolean
  34.    protected boolean field_12 = false;
  35.  
  36.    public CharScanner(InputBuffer var1) {
  37.       this.setTokenObjectClass(method_2("ojp\u001aPc+]!Re!]"));
  38.       this.field_11 = var1;
  39.    }
  40.  
  41.    public void append(char var1) {
  42.       if (this.field_3) {
  43.          this.field_2.append(var1);
  44.       }
  45.  
  46.    }
  47.  
  48.    public void append(String var1) {
  49.       if (this.field_3) {
  50.          this.field_2.append(var1);
  51.       }
  52.  
  53.    }
  54.  
  55.    public void commit() {
  56.       this.field_11.commit();
  57.    }
  58.  
  59.    public void consume() throws IOException {
  60.       if (this.field_5 == 0) {
  61.          if (this.field_6) {
  62.             this.append(this.method_0(1));
  63.          } else {
  64.             this.append(this.field_11.LA(1));
  65.          }
  66.       }
  67.  
  68.       this.field_11.consume();
  69.    }
  70.  
  71.    public void consumeUntil(int var1) throws IOException {
  72.       while(this.method_0(1) != '\uffff' && this.method_0(1) != var1) {
  73.          this.consume();
  74.       }
  75.  
  76.    }
  77.  
  78.    public void consumeUntil(BitSet var1) throws IOException {
  79.       while(this.method_0(1) != '\uffff' && !var1.member(this.method_0(1))) {
  80.          this.consume();
  81.       }
  82.  
  83.    }
  84.  
  85.    public boolean getCaseSensitive() {
  86.       return this.field_6;
  87.    }
  88.  
  89.    public final boolean getCaseSensitiveLiterals() {
  90.       return this.field_7;
  91.    }
  92.  
  93.    public boolean getCommitToPath() {
  94.       return this.field_12;
  95.    }
  96.  
  97.    public InputBuffer getInputBuffer() {
  98.       return this.field_11;
  99.    }
  100.  
  101.    public int getLine() {
  102.       return this.field_1;
  103.    }
  104.  
  105.    public String getText() {
  106.       return this.field_2.toString();
  107.    }
  108.  
  109.    public Token getTokenObject() {
  110.       return this.field_9;
  111.    }
  112.  
  113.    // $FF: renamed from: LA (int) char
  114.    public char method_0(int var1) throws IOException {
  115.       return this.field_6 ? this.field_11.LA(var1) : this.toLower(this.field_11.LA(var1));
  116.    }
  117.  
  118.    // $FF: renamed from: a (int) a.Token
  119.    protected Token method_1(int var1) {
  120.       try {
  121.          Token var2 = (Token)this.field_4.newInstance();
  122.          var2.setType(var1);
  123.          var2.setLine(this.field_1);
  124.          return var2;
  125.       } catch (InstantiationException var3) {
  126.          this.panic(method_2("m%]RI.-]\u0006Io*G\u001c\\z!\u0013\u0014\u001dZ+X\u0010S"));
  127.       } catch (IllegalAccessException var4) {
  128.          this.panic(method_2("Z+X\u0010S.'_\u0014N}dZ\u0006\u001d`+GU\\m'V\u0006Ng&_\u0010"));
  129.       }
  130.  
  131.       return Token.badToken;
  132.    }
  133.  
  134.    public int mark() {
  135.       return this.field_11.mark();
  136.    }
  137.  
  138.    public void match(char var1) throws ScannerException, IOException {
  139.       if (this.method_0(1) != var1) {
  140.          throw new ScannerException(method_2("c-@\u0018\\z'[\u0010Y.'[\u0014O4d\u0014") + this.method_0(1) + method_2(")dV\rMk'G\u0010Y.c") + var1 + "'", this.field_1);
  141.       } else {
  142.          this.consume();
  143.       }
  144.    }
  145.  
  146.    public void match(BitSet var1) throws ScannerException, IOException {
  147.       if (!var1.member(this.method_0(1))) {
  148.          throw new ScannerException(method_2("c-@\u0018\\z'[\u0010Y.'[\u0014O4d\u0014") + this.method_0(1) + "'", this.field_1);
  149.       } else {
  150.          this.consume();
  151.       }
  152.    }
  153.  
  154.    public void match(String var1) throws ScannerException, IOException {
  155.       int var2 = var1.length();
  156.  
  157.       for(int var3 = 0; var3 < var2; ++var3) {
  158.          if (this.method_0(1) != var1.charAt(var3)) {
  159.             throw new ScannerException(method_2("c-@\u0018\\z'[\u0010Y.'[\u0014O4d\u0014") + this.method_0(1) + "'", this.field_1);
  160.          }
  161.  
  162.          this.consume();
  163.       }
  164.  
  165.    }
  166.  
  167.    public void matchNot(char var1) throws ScannerException, IOException {
  168.       if (this.method_0(1) == var1) {
  169.          throw new ScannerException(method_2("c-@\u0018\\z'[\u0010Y.'[\u0014O4d\u0014") + this.method_0(1) + "'", this.field_1);
  170.       } else {
  171.          this.consume();
  172.       }
  173.    }
  174.  
  175.    public void matchRange(char var1, char var2) throws ScannerException, IOException {
  176.       if (this.method_0(1) >= var1 && this.method_0(1) <= var2) {
  177.          this.consume();
  178.       } else {
  179.          throw new ScannerException(method_2("m,R\u0007\u001da1GURhdA\u0014Si!\tU\u001a") + this.method_0(1) + "'", this.field_1);
  180.       }
  181.    }
  182.  
  183.    public void newline() {
  184.       ++this.field_1;
  185.    }
  186.  
  187.    public void panic() {
  188.       System.err.println(method_2("M,R\u0007nm%]\u001bX|~\u0013\u0005\\`-P"));
  189.       System.exit(1);
  190.    }
  191.  
  192.    public void panic(String var1) {
  193.       System.err.println(method_2("M,R\u0007nm%]\u001bX|\u007f\u0013\u0005\\`-PO\u001d") + var1);
  194.       System.exit(1);
  195.    }
  196.  
  197.    public void reportError(ScannerException var1) {
  198.       System.err.println(method_2("]'R\u001bSk6\u0013\u0010Em!C\u0001Ta*\tU") + var1);
  199.    }
  200.  
  201.    public void reportError(String var1) {
  202.       System.err.println(method_2("K6A\u001aO4d") + var1);
  203.    }
  204.  
  205.    public void reportWarning(String var1) {
  206.       System.out.println(method_2("Y%A\u001bT`#\tU") + var1);
  207.    }
  208.  
  209.    public void resetText() {
  210.       this.field_2.setLength(0);
  211.    }
  212.  
  213.    public void rewind(int var1) {
  214.       this.field_11.rewind(var1);
  215.    }
  216.  
  217.    public void setCaseSensitive(boolean var1) {
  218.       this.field_6 = var1;
  219.    }
  220.  
  221.    public void setCommitToPath(boolean var1) {
  222.       this.field_12 = var1;
  223.    }
  224.  
  225.    public void setLine(int var1) {
  226.       this.field_1 = var1;
  227.    }
  228.  
  229.    public void setText(String var1) {
  230.       this.resetText();
  231.       this.field_2.append(var1);
  232.    }
  233.  
  234.    public void setTokenObjectClass(String var1) {
  235.       try {
  236.          this.field_4 = Class.forName(var1);
  237.       } catch (ClassNotFoundException var2) {
  238.          this.panic(method_2("M(R\u0006N@+G3R{*W0Em!C\u0001Ta*\tU") + var1);
  239.       }
  240.    }
  241.  
  242.    public int testLiteralsTable(int var1) {
  243.       this.field_10.setBuffer(this.field_2.getBuffer(), this.field_2.length());
  244.       Integer var2 = (Integer)this.field_8.get(this.field_10);
  245.       if (var2 != null) {
  246.          var1 = var2;
  247.       }
  248.  
  249.       return var1;
  250.    }
  251.  
  252.    public char toLower(char var1) {
  253.       return Character.toLowerCase(var1);
  254.    }
  255.  
  256.    public void traceIn(String var1) throws IOException {
  257.       System.out.println(method_2("k*G\u0010O.(V\rX|d") + var1 + method_2("5dPH\u0000") + this.method_0(1));
  258.    }
  259.  
  260.    public void traceOut(String var1) throws IOException {
  261.       System.out.println(method_2("k<Z\u0001\u001db!K\u0010O.") + var1 + method_2("5dPH\u0000)") + this.method_0(1));
  262.    }
  263.  
  264.    public abstract Token nextToken() throws IOException;
  265.  
  266.    // $FF: renamed from: a (java.lang.String) java.lang.String
  267.    private static String method_2(String var0) {
  268.       char[] var1 = var0.toCharArray();
  269.       int var2 = var1.length;
  270.  
  271.       for(int var3 = 0; var3 < var2; ++var3) {
  272.          char var10002 = var1[var3];
  273.          byte var10003;
  274.          switch (var3 % 5) {
  275.             case 0:
  276.                var10003 = 14;
  277.                break;
  278.             case 1:
  279.                var10003 = 68;
  280.                break;
  281.             case 2:
  282.                var10003 = 51;
  283.                break;
  284.             case 3:
  285.                var10003 = 117;
  286.                break;
  287.             default:
  288.                var10003 = 61;
  289.          }
  290.  
  291.          var1[var3] = (char)(var10002 ^ var10003);
  292.       }
  293.  
  294.       return new String(var1);
  295.    }
  296. }
  297.